using System.ComponentModel.DataAnnotations;

namespace SupplierCustomerManagement.Domain.Entities
{
    /// <summary>
    /// 供应商联系人实体
    /// 代表供应商的联系人信息，包含联系人基本信息、地址信息、联系方式等
    /// </summary>
    public class SupplierContact : BaseEntity
    {
        /// <summary>
        /// 供应商ID
        /// </summary>
        [Required]
        public int SupplierId { get; set; }

        /// <summary>
        /// 联系人姓名
        /// </summary>
        [Required]
        [StringLength(100)]
        public string ContactPerson { get; set; }

        /// <summary>
        /// 职务
        /// </summary>
        [StringLength(100)]
        public string? Position { get; set; }

        /// <summary>
        /// 省份
        /// </summary>
        [StringLength(50)]
        public string? Province { get; set; }

        /// <summary>
        /// 城市
        /// </summary>
        [StringLength(50)]
        public string? City { get; set; }

        /// <summary>
        /// 区县
        /// </summary>
        [StringLength(50)]
        public string? District { get; set; }

        /// <summary>
        /// 详细地址
        /// </summary>
        [StringLength(500)]
        public string? DetailedAddress { get; set; }

        /// <summary>
        /// 电话
        /// </summary>
        [StringLength(50)]
        public string? Phone { get; set; }

        /// <summary>
        /// 手机号码
        /// </summary>
        [StringLength(20)]
        public string? MobilePhone { get; set; }

        /// <summary>
        /// 邮编
        /// </summary>
        [StringLength(10)]
        public string? PostalCode { get; set; }

        /// <summary>
        /// 邮箱
        /// </summary>
        [StringLength(100)]
        public string? Email { get; set; }

        /// <summary>
        /// 是否为默认联系人
        /// </summary>
        public bool IsDefault { get; set; } = false;
    }
}